package view;

import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JButton;

import java.awt.Color;

import javax.swing.JLabel;
import javax.swing.ImageIcon;
import javax.swing.UIManager;
import javax.swing.UIManager.LookAndFeelInfo;

import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.Font;



public class Startfenster {
	
	byte schriftGroesse;

	private JFrame frmSudokuSpiellehrMit;

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					Startfenster window = new Startfenster();
					window.frmSudokuSpiellehrMit.setVisible(true);
					window.frmSudokuSpiellehrMit.getContentPane().setBackground(new Color(102, 153, 153));
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}
	
	
	/**
	 * Create the application.
	 */
	public Startfenster() {
		initialize();
	}
	
	public JFrame getJFrame(){
		return frmSudokuSpiellehrMit;
	}
	/**
	 * Initialize the contents of the frame.
	 */
	private void initialize() {
		
		try {
		    for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {
		        if ("Nimbus".equals(info.getName())) {
		            UIManager.setLookAndFeel(info.getClassName());
		            break;
		        }
		    }
		} catch (Exception e) {
		    // Wenn Nimbus nicht vorhanden, kann man das Look & Feel noch aendern
		}
		
		
		// Deklarieren des neuen Frames
		frmSudokuSpiellehrMit = new JFrame();
		frmSudokuSpiellehrMit.setTitle("Sudoku Spiel-Lehr mit Keks und Kr\u00FCmel");
		//frmSudokuSpiellehrMit.getContentPane().setBackground(new Color(102, 153, 153));
		frmSudokuSpiellehrMit.setResizable(false);
		frmSudokuSpiellehrMit.setBounds(0, 0, 1024, 768);
		frmSudokuSpiellehrMit.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frmSudokuSpiellehrMit.getContentPane().setLayout(null);	
		frmSudokuSpiellehrMit.setVisible(true);
		
		// Button um die Farbe in Gr��n zu ��ndern
		JButton btnGruen = new JButton("");
		btnGruen.setToolTipText("M\u00F6chtest du einen gr\u00FCnen Hintergrund?");
		btnGruen.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				frmSudokuSpiellehrMit.getContentPane().setBackground(new Color(153, 204, 51));
			}
		});
		
		JLabel lblInhaltSprechblase = new JLabel("<html><body>Hallo!<br>Wir sind Keks und Kr&uuml;mel.<br>Zusammen mit uns lernst du wie man Sudokus l&ouml;st.<br>Au&szlig;erdem k&ouml;nnen wir dir immer helfen, wenn du <br>einmal nicht weiter kommst.<br>Hast du schon einmal Sudokus gel&ouml;st oder <br>sollen wir dir noch einmal zeigen wie das geht?</body></html>");
		lblInhaltSprechblase.setFont(new Font("Tahoma", Font.PLAIN, 14));
		lblInhaltSprechblase.setBounds(422, 59, 482, 161);
		frmSudokuSpiellehrMit.getContentPane().add(lblInhaltSprechblase);
		btnGruen.setBackground(new Color(153, 204, 51));
		btnGruen.setBounds(927, 519, 40, 40);
		frmSudokuSpiellehrMit.getContentPane().add(btnGruen);
		
		// Button um die Farbe in Blau zu ��ndern
		JButton btnBlau = new JButton("");
		btnBlau.setToolTipText("M\u00F6chtest du einen blauen Hintergrund?");
		btnBlau.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				frmSudokuSpiellehrMit.getContentPane().setBackground(new Color(0, 153, 204));

			}
		});
		btnBlau.setBackground(new Color(0, 153, 204));
		btnBlau.setBounds(877, 468, 40, 40);
		frmSudokuSpiellehrMit.getContentPane().add(btnBlau);
		
		// Button um die Farbe in Gelb zu ��ndern
		JButton btnGelb = new JButton("");
		btnGelb.setToolTipText("M\u00F6chtest du einen gelben Hintergrund?");
		btnGelb.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				frmSudokuSpiellehrMit.getContentPane().setBackground(new Color(255, 215, 0));
			}
		});
		btnGelb.setBackground(new Color(255, 215, 0));
		btnGelb.setBounds(927, 468, 40, 40);
		frmSudokuSpiellehrMit.getContentPane().add(btnGelb);
		
		// Button um die Farbe in Pink zu ��ndern
		JButton btnPink = new JButton("");
		btnPink.setToolTipText("M\u00F6chtest du einen pinken Hintergrund?");
		btnPink.setBackground(new Color(255, 153, 255));
		btnPink.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				frmSudokuSpiellehrMit.getContentPane().setBackground(new Color(255, 153, 255));
			}
		});
		btnPink.setBounds(877, 570, 40, 40);
		frmSudokuSpiellehrMit.getContentPane().add(btnPink);
		
		// Button um die Farbe in Meeresgr��n zu ��ndern
		JButton btnMeeresGruen = new JButton("");
		btnMeeresGruen.setToolTipText("M\u00F6chtest du einen blau-grauen Hintergund?");
		btnMeeresGruen.setBackground(new Color(102, 153, 153));
		btnMeeresGruen.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				frmSudokuSpiellehrMit.getContentPane().setBackground(new Color(102, 153, 153));
			}
		});
		btnMeeresGruen.setBounds(927, 570, 40, 40);
		frmSudokuSpiellehrMit.getContentPane().add(btnMeeresGruen);
		
		// Button um die Farbe in Rot zu ��ndern
		JButton btnRot = new JButton("");
		btnRot.setToolTipText("M\u00F6chtest du einen roten Hintergrund?");
		btnRot.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				frmSudokuSpiellehrMit.getContentPane().setBackground(new Color(204, 0, 0));
			}
		});
		btnRot.setBackground(new Color(204, 0, 0));
		btnRot.setBounds(877, 519, 40, 40);
		frmSudokuSpiellehrMit.getContentPane().add(btnRot);
		
		// Label welches Keks und Kr��mel darstellt
		JLabel lblKeksKruemel = new JLabel("");
		lblKeksKruemel.setFont(new Font("Tahoma", Font.PLAIN, 11));
		lblKeksKruemel.setIcon(new ImageIcon(Startfenster.class.getResource("/Bilder/Keks-&-KruemelKlein.gif")));
		lblKeksKruemel.setBounds(349, 180, 780, 344);
		frmSudokuSpiellehrMit.getContentPane().add(lblKeksKruemel);
		
		// Button um das Spiel zu beenden.
		JButton btnBeenden = new JButton("");
		btnBeenden.setToolTipText("Wenn du hier den Mauszeiger dr\u00FCckst,\r\nbeendest du das Programm.");
		btnBeenden.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				System.exit(0);
			}
		});
		btnBeenden.setContentAreaFilled(false);
		btnBeenden.setIcon(new ImageIcon(Startfenster.class.getResource("/Bilder/SudokuEnde.gif")));
		btnBeenden.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnBeenden.setBackground(Color.WHITE);
		btnBeenden.setBounds(922, 23, 79, 82);
		frmSudokuSpiellehrMit.getContentPane().add(btnBeenden);
		
		// Sprechblase für Keks und Krümel
		JLabel lblSprechblase = new JLabel("");
		lblSprechblase.setIcon(new ImageIcon(Startfenster.class.getResource("/Bilder/SudokuSprechblase.gif")));
		lblSprechblase.setBounds(364, 11, 407, 306);
		frmSudokuSpiellehrMit.getContentPane().add(lblSprechblase);
		
		//Button um zur GrundGUI zu kommen
		JButton btnGleichSpielen = new JButton("<html><body>Ich m&ouml;chte gleich Sudokus spielen !</body></html>");
		btnGleichSpielen.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				GrundGUI grundGUI = new GrundGUI();
				grundGUI.setGrundGUI(grundGUI);
				grundGUI.getJFrame().setLocation(0, 0);
				grundGUI.getJFrame().getContentPane().setBackground(frmSudokuSpiellehrMit.getContentPane().getBackground());
				frmSudokuSpiellehrMit.dispose();
			}
		});
		btnGleichSpielen.setFont(new Font("Tahoma", Font.PLAIN, 17));
		btnGleichSpielen.setBounds(222, 427, 395, 109);
		frmSudokuSpiellehrMit.getContentPane().add(btnGleichSpielen);
		
		//Button um zum Tutorial zu kommen
		JButton btnTutorial = new JButton("Bitte zeigt mir erst, wie man Sudoku spielt !");
		btnTutorial.setFont(new Font("Tahoma", Font.PLAIN, 17));
		btnTutorial.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				Tutorial tutorial = new Tutorial();
				tutorial.getJFrame().getContentPane().setBackground(frmSudokuSpiellehrMit.getContentPane().getBackground());
				frmSudokuSpiellehrMit.dispose();
			}
		});
		btnTutorial.setBounds(222, 547, 395, 109);
		frmSudokuSpiellehrMit.getContentPane().add(btnTutorial);
		
		JLabel lblKeksTooltip = new JLabel("New label");
		lblKeksTooltip.setToolTipText("Ich bin Keks.");
		lblKeksTooltip.setBounds(789, 247, 94, 96);
		frmSudokuSpiellehrMit.getContentPane().add(lblKeksTooltip);
		
		JLabel lblKruemelToolTip = new JLabel("New label");
		lblKruemelToolTip.setToolTipText("Ich bin Kr\u00FCmel.");
		lblKruemelToolTip.setBounds(893, 297, 74, 52);
		frmSudokuSpiellehrMit.getContentPane().add(lblKruemelToolTip);
	}
}
